package org.jeecg.talentCooperation.talent.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 人才协作
 * @Author: jeecg-boot
 * @Date:   2023-8-17
 * @Version: V1.0
 */
@ApiModel(value="talent对象", description="人才协作")
@Data
@TableName("nd_talent_basic")
public class TalentBasic implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 专家编号
     */
    private String talentNumber;

    /**
     * 手机号码 部分隐藏
     */
    private String allPhoneNumber;

    /**
     * 手机号码
     */
    private String partPhoneNumber;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 类型 1：员报 2：院士
     */
    private String type;

    /**
     * 姓名拼音
     */
    private String namePinyin;

    /**
     * 英文名
     */
    private String nameEn;

    /**
     * 曾用名
     */
    private String usedName;

    /**
     * 笔名
     */
    private String penName;

    /**
     * 个人头像
     */
    private String profilePhoto;

    /**
     * 邮箱
     */
    private String mail;

    /**
     * 身份证号码
     */
    private String idNum;

    /**
     * 微信号
     */
    private String wechatNum;

    /**
     * qq号码
     */
    private String qqNum;

    /**
     * 性别
     */
    private String gender;

    /**
     * 民族
     */
    private String nation;

    /**
     * 生日
     */
    private Date birthday;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 政治面貌
     */
    private String politicsStatus;

    /**
     * 入党时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date joinPartyTime;

    /**
     * 国籍
     */
    private String nationality;

    /**
     * 参加工作时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date workTime;

    /**
     * 工作单位
     */
    private String company;

    /**
     * 单位所在地区
     */
    private String companyAddress;

    /**
     * 现工作部门
     */
    private String workingDept;

    /**
     * 现工作岗位
     */
    private String workingStation;

    /**
     * 现任职务
     */
    private String post;

    /**
     * 职称
     */
    private String theTitle;

    /**
     * 职称级别
     */
    private String titleLevel;

    /**
     * 毕业院校
     */
    private String graduateSchool;

    /**
     * 学术称号
     */
    private String academicTitle;

    /**
     * 办公电话
     */
    private String officePhone;

    /**
     * 通讯地址
     */
    private String linkAddress;

    /**
     * 学历
     */
    private String education;

    /**
     * 学位
     */
    private String degree;

    /**
     * 学科
     */
    private String subject;

    /**
     * 研究领域
     */
    private String researchDomain;

    /**
     * 师资来源：1系统内师资，2系统外师资
     */
    private String facultySources;

    /**
     * 影像编号
     */
    private String photoNumber;

    /**
     * 是否已授权
     */
    private String accessed;

    /**
     * 备注
     */
    private String summary;

    private String cooperationNum;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime = new Date();

    @TableField(exist = false)
    private List<TalentBasicBankInfo> bankInfoList;

    @TableField(exist = false)
    private List<TalentBasicDealInfo> dealInfoList;

    @TableField(exist = false)
    private Integer pageNo;

    @TableField(exist = false)
    private Integer pageSize;

    @TableField(exist = false)
    private String phoneNumber;;

}
